﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Olympic_email_to_future.Module;

namespace Olympic_email_to_future.IBLL
{
    public interface IMailBLL
    {

        /*******************************************************************
         * * 函数名称：mailSend
         * * 功    能：发送当前时间内应该发送的邮件（即发送邮件的时间==当前时间）
         * * 参    数：
         * * 返 回 值：
         * * 作    者：LHX
         * * 日    期：2013年5月28日
         * *******************************************************************/
        void mailSend();




        /*******************************************************************
         * * 函数名称：getMailInfoByMailAddress
         * * 功    能：按照发件地址返回邮件列表
         * * 参    数：string EmailAddress  收件人地址  如果没有
         * * 返 回 值：
         * * 作    者：LHX
         * * 日    期：2013年5月25日
         * *******************************************************************/
        IList<MailInfo> dogetMailInfoByMailAddress(string EmailAddress);





        /*******************************************************************
         * * 函数名称：doHaveMailByTime
         * * 功    能：是否当前有要发的邮件
         * * 参    数：
         * * 返 回 值：true为有，fals就没有
         * * 作    者：LHX
         * * 日    期：2013年5月30日
         * *******************************************************************/
        Boolean doHaveMailByTime();



        /*******************************************************************
         * * 函数名称：dogetMailInfoByCurrentTime
         * * 功    能：返回当前时间应发的邮件列表
         * * 参    数：
         * * 返 回 值：IList<MailInfo>
         * * 作    者：LHX
         * * 日    期：2013年5月30日
         * *******************************************************************/
        IList<MailInfo> dogetMailInfoByCurrentTime();

        /*******************************************************************
         * * 函数名称：getMailByPublic
         * * 功    能：返回公开邮件
         * * 参    数：
         * * 返 回 值：IList<MailInfo>
         * * 作    者：LHX
         * * 日    期：2013年6月2日
         * *******************************************************************/
        IList<MailInfo> dogetMailInfoByPublic();

        /*******************************************************************
         * * 函数名称：dogetMailInfoById
         * * 功    能：根据id返回mailinfo对象
         * * 参    数：int id
         * * 返 回 值：MailInfo
         * * 作    者：LHX
         * * 日    期：2013年6月3日
         * *******************************************************************/
        MailInfo dogetMailInfoById(int id);

        /*******************************************************************
         * * 函数名称：doinsertMailInfo
         * * 功    能：插入邮件对象
         * * 参    数：MailInfo mailinfo
         * * 返 回 值：void
         * * 作    者：LHX
         * * 日    期：2013年5月27日
         * *******************************************************************/
        int doinsertMailInfo(MailInfo mailinfo);

        /*******************************************************************
        * * 函数名称：deleteMialInfoByEmaiId
        * * 功    能：删除邮件
        * * 参    数：int mailid  邮件id   
        * * 返 回 值：void
        * * 作    者：LHX
        * * 日    期：2013年5月27日
        * *******************************************************************/
        void deleteMialInfoByEmaiId(int mailid);

        /*******************************************************************
         * * 函数名称：updateState
         * * 功    能：更改邮件公开状态
         * * 参    数：
         * * 返 回 值：
         * * 作    者：MDL
         * * 日    期：2013年6月8日
         * *******************************************************************/
        void updatePublic(int mailid);

    }
}
